package org.dromara.school.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.school.domain.Discipline;
import org.dromara.school.domain.Teacher;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 教师管理视图对象 teacher
 *
 * @author fliay
 * @date 2025-05-26
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Teacher.class)
public class TeacherVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long teacherId;

    @ExcelProperty(value = "*所属校区")
    private String bandingSchools;

    /**
     * 教师姓名
     */
    @ExcelProperty(value = "*教师姓名")
    private String teacherName;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别")
    private String sex;

    /**
     * 入职时间
     */
    @ExcelProperty(value = "入职时间")
    private Date joinDate;

    /**
     * 民族
     */
    @ExcelProperty(value = "名族")
    private String nation;

    /**
     * 在岗状态
     */
    @ExcelProperty(value = "在岗状态：是/否")
    private String onDutyStatus;

    /**
     * 在职状态
     */
    @ExcelProperty(value = "在职状态：是/否")
    private String onJobStatus;

    /**
     * 主学科id
     */
    @ExcelProperty(value = "*主学科")
    private String mainDiscipline;

    /**
     * 职位
     */
    @ExcelProperty(value = "职位")
    private String position;

    /**
     * 手机号
     */
    @ExcelProperty(value = "*手机号")
    private String telphone;

    /**
     * 省
     */
    @ExcelProperty(value = "省")
    private String province;

    /**
     * 市
     */
    @ExcelProperty(value = "市")
    private String city;

    /**
     * 区
     */
    @ExcelProperty(value = "区")
    private String districts;

    /**
     * 学科名称
     */
    private String subjectName;

    //籍贯
    private String[] nativePlace;

    //副学科
    private List<Long> subDisciplineId;

    //校区名称，用于回显
//
    private List<String> campusNames;

    private List subDiscipline;

    //校区所有学科
    private List<Discipline> disciplineList;

    private Long mainDisciplineId;

    private List<Long> schoolCampusId;

}
